package com.ciei.dpagm.common.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;

import java.util.Arrays;

/**
 * 权限固钉
 *
 * @author kiho
 * @date 2022/11/17
 */
public enum RightAffixEnum {

    /**
     * 不固定在tags-view中,可以被关闭（默认）
     */
    NO_AFFIX(0, false),

    /**
     * 会固定在tags-view中,不可被关闭
     */
    AFFIX(1, true),
    ;

    @EnumValue
    private Integer value;

    private boolean isAffix;

    RightAffixEnum(Integer value, boolean isAffix) {
        this.value = value;
        this.isAffix = isAffix;
    }

    public Integer getValue() {
        return value;
    }

    public boolean isAffix() {
        return isAffix;
    }

    public static boolean getBooleanByValue(Integer value) {
        return Arrays.stream(values())
                .filter(affixEnum -> affixEnum.getValue().equals(value))
                .map(RightAffixEnum::isAffix)
                .findFirst()
                .orElse(false);
    }
}
